var sliderWidth = 96; // 需要设置slider的宽度，用于计算中间位置

var app = getApp();
var utils = require ('../../utils/utils');
var p = 2;   //上拉加载时默认的请求页数
var orderData = [];  //订单数据的初始值
var xhr=null;

Page({
    data: {
        tabs: [{
            order_type: 5,
            title: '全部'
        },
            {
                order_type: 0,
                title: '待处理'
            },
            {
                order_type: 1,
                title: '已付款'
            },
            {
                order_type: 2,
                title: '待付款'
            }],
        activeIndex: 0,
        sliderOffset: 0,
        sliderLeft: 0,
        order_type: '',
        loading: false,  //是否出现正在加载
        more: -1,
        // listCount: "0",
        // money: "0.00"

    },
    onLoad: function (options) {
        this.getHeight();
        var that = this;
        parseFloat()
        parseInt()
        wx.getSystemInfo({
            success: function (res) {
                that.setData({
                    activeIndex: options.activeIndex,
                    order_type: options.type,
                    sliderLeft: (res.windowWidth / that.data.tabs.length - sliderWidth) / 2,
                    scrollHeight: res.windowHeight,
                    sliderOffset: res.windowWidth / that.data.tabs.length * options.activeIndex,
                    more: -1,
                });
            }
        });
            this.getMyBuyList(options.type, 1);
    },

    //切换navbar
    tabClick: function (e) {
        utils.setNavigationBarTitle(e.currentTarget.dataset.title);
        //console.log(e);
        p = 2;  //切换tab重置上拉加载更多请求页数
        this.setData({
            sliderOffset: e.currentTarget.offsetLeft,
            activeIndex: e.currentTarget.id,   //当前tab页的下表
            orderList: [],   //切换tab重置数据
            order_type:e.currentTarget.dataset.id,   //当前订单的类型
            // listCount: '0',
            // money: "0.00",
            more: -1     //如果切换tab不重置more为0以外的数，就不会去请求订单列表
        });
        //console.log('点击改变的order_type');
        //console.log(this.data.order_type);
            this.getMyBuyList(e.currentTarget.dataset.id, 1);
    },


    //获取订单列表
    /**
     * 获取订单列表
     * @param order_type  订单类型 ''请求全部， 0：待处理  2：已付款 3：代付款
     * @param currentPage   当前请求的是第几页，上拉加载传2，其他传1
     */
    getMyBuyList: function (order_type, currentPage) {
        if (xhr!=null){
            xhr.abort();
            xhr=null;
        }
        var that = this;
        //如果more==0，也就是说没有数据可加载了，阻止执行
        if (this.data.more == 0) {
            //console.log('/如果more==0，也就是说没有数据可加载了，阻止执行');
            return;
        }
        //加载更多出现
        this.setData({
            loading: true
        })
        wx.showNavigationBarLoading();
        //发起获取订单列表请求
        xhr=wx.request({
            url: app.globalData.commonURL + "wxApp/getMyBuyList",
            data: {
                who: app.globalData.who,
                userid: app.globalData.userid,
                order_type: order_type,
                orderlist_p: currentPage,
                showfullpicsrc:1
            },
            method: 'POST',
            header: {
                // 'content-type': 'application/json'
                'content-type': 'application/x-www-form-urlencoded'
            },
            success: function (res) {
                // var money = 0;
                // for (var i = 0; i < res.data.orderList.length; i++) {
                //     for (var j = 0; j < res.data.orderList[i].details.length; j++) {
                //         money += (res.data.orderList[i].details[j].jg * 100);
                //     }
                // }

                //如果数据的长度==null，说明没有数据了，停止继续执行
                //改变规格数据的格式
                //console.log(res.data.orderList);
                if(res.data.orderList){
                    //console.log('已有数据');
                    res.data.orderList=that.setObject(res.data.orderList);
                }
                if (res.data.orderList == null) {
                    //console.log('接口order列表为null');
                    that.setData({
                        more: 0,
                        loading: false
                    })
                    wx.hideNavigationBarLoading()
                    return;
                }
                //currentPage == 1，说明不是上拉加载，当前数据等于请求回来的数据，并且上拉加载的页数重置为初始值2
                if (currentPage == 1) {
                    orderData = res.data.orderList;
                    p = 2;
                } else {
                    console.log('不是上拉加载');
                    //如果上一次加载数据的时候订单列表的长度小于10，说明没有数据了，停止这次的加载
                    if (that.data.more == 0) {
                        wx.hideNavigationBarLoading();
                        return;
                    }
                    //如果currentPage ！= 1，说明是上拉加载，当前数据等于上次的数据加上这次请求回来的数据
                    for (var i = 0; i < res.data.orderList.length; i++) {
                        orderData.push(res.data.orderList[i]);
                    }
                    //下次下拉请求的页数当前页数+1，
                    console.log('p++-------------------------------p++');
                    console.log(currentPage);
                    p++;
                }
                //如果当前请求的数据长度小于10，more设置为0，阻止下次上拉的加载
                if (res.data.orderList.length < 10) {
                    that.setData({
                        more: 0
                    })
                }
                console.log('最后的order数据');
                console.log(orderData);
                console.log(that.data.orderList);
                that.setData({
                    //orderList: res.data.orderList,
                    orderList: orderData,
                    // listCount: res.data.orderList.length,
                    // money: (money / 100).toFixed(2)
                })
                that.setData({
                    loading: false,
                });
                wx.hideNavigationBarLoading()
            },
            fail: function (erorr) {
                console.log(erorr);
            }
        })
    },


    /**
     * 下拉刷新
     */
    dropDown: function(){
        this.setData({
            more: -1  //和切换tab同理，不设置more为0以外的数，不会请求订单数据
        });
        console.log('下拉刷新');
        //console.log(this.data.order_type);
            this.getMyBuyList(this.data.order_type, 1);
    },

    /**
     * 上拉加载
     */
    orderPull: function () {
        var that = this;
        console.log('上拉加载-----------');
            this.getMyBuyList(this.data.order_type, p);
    },
    //改变规格数据的格式
    setObject:function(orderList){
        //console.log('改变规格数据的格式');
        orderList.forEach(function(value,index,arr){
            //console.log(value);
            value.details.forEach(function(val,ind,Arr){
                if(val.property.length>0){//property需要修改
                    let allText='';
                    // //console.log(val.property);
                    val.property.forEach(function(vals,inds,Arrs){
                        // //console.log(vals);
                        for (let obj in vals) {
                            allText+=(' '+ obj+' : '+vals[obj]+' ; ');
                            // //console.log(obj);
                            // //console.log(vals[obj]);
                        }
                    });
                //console.log(allText);
                    val.property=allText;
                }
            })
        });
        //console.log('返回的orderList');
        //console.log(orderList);
        return orderList;

    },

    getHeight:function(){
        var GGsysInfo = wx.getSystemInfoSync();
        console.log(GGsysInfo.windowHeight);
        //GGsysInfo.windowHeight
        //setHeight
        this.setData({
            setHeight:GGsysInfo.windowHeight
        })
        console.log(this.data.setHeight)
    }
});